# 用类封装一个`MyMath`类, 实现加, 减, 乘, 除, 幂, 开方
from math import sqrt


class MyMath(object):
    def add(self, a, b):  # 加法
        return a + b

    def my_min(self, a, b):  # 减法
        return a - b

    def mul(self, a, b):  # 乘法操作
        return a * b

    def div(self, a, b):  # 除法操作
        return a / b

    def my_power(self, a, b):  # 幂操作
        return a ** b

    def my_sqr(self, a):  # 开方操作
        return sqrt(a)


# 自由课题, 大家按自己的想法, 将身边的事物抽象出一个类, 并创建多个实例
class my_fruit(object):
    definition = "水果是一种食物!"

    def __init__(self, obj):
        self.name = obj
        print(self.name)


# 创建多个继承作业2父类的子类
class banana(my_fruit):
    def __init__(self):
        print("这是香蕉,水果的一种!")


class grape(my_fruit):
    def __init__(self):
        print("这是葡萄,水果的一种!")


if __name__ == "__main__":
    mymath = MyMath()
    print(mymath.add(4, 4))
    print(mymath.my_min(4, 4))
    print(mymath.mul(4, 4))
    print(mymath.div(4, 4))
    print(mymath.my_power(4, 4))
    print(mymath.my_sqr(4))
    apple = my_fruit("苹果")
    pear = my_fruit("梨")
    banana = banana()
    print(banana.definition)
    grape = grape()
